package com.cleaningcloud.erp.api.domain;

import com.cleaningcloud.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.cleaningcloud.common.core.annotation.Excel;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户管理对象 erp_customer
 * 
 * @author cleaningcloud
 * @date 2024-10-02
 */

@EqualsAndHashCode(callSuper = true)
@Data
public class ErpCustomer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 客户ID */
    private Long customerId;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private String customerNo;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 客户类型(字典表erp_customer_type) */
    @Excel(name = "客户类型")
    private Integer customerType;

    /** 客户等级(字典表erp_customer_level) */
    @Excel(name = "客户等级")
    private Integer customerLevel;

    /** 营业性质(字典表erp_customer_nature) */
    @Excel(name = "营业性质")
    private Integer customerNature;

    /** 所属行业(字典表erp_customer_industry) */
    @Excel(name = "所属行业")
    private Integer customerIndustry;

    @Excel(name = "折扣")
    private BigDecimal discount;

    /** 省份 */
    @Excel(name = "省份")
    private String province;

    /** 市区 */
    @Excel(name = "市区")
    private String city;

    /** 区县 */
    @Excel(name = "区县")
    private String county;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 法人代表 */
    @Excel(name = "法人代表")
    private String legalRepresentative;

    /** 统一信用代码 */
    @Excel(name = "统一信用代码")
    private String unifiedCode;

    /** 联系人名称 */
    @Excel(name = "联系人名称")
    private String linkman;

    /** 联系人电话 */
    @Excel(name = "联系人电话")
    private String linkmanPhone;

    /** 登录账号 */
    private String userName;

    /** 登录密码 */
    private String passWord;

    /** 公司电话 */
    @Excel(name = "公司电话")
    private String companyPhone;

    /** 微信账号 */
    @Excel(name = "微信账号")
    private String weixin;

    /** 创建人ID */
    private Long createId;

    /** 创建人名称 */
    private String createName;

    /** 备注是否关闭 */
    private String flag;

    /** 审批人ID */
    private Long approveId;

    /** 审批人名称 */
    @Excel(name = "审批人名称")
    private String approveName;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date approveTime;

    /** 审批状态(0待审核1已通过2已驳回) */
    @Excel(name = "审批状态", sort = 3, readConverterExp = "0=待审核,1=已通过,2=已驳回")
    private Integer approveStatus;

    /** 驳回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date rejectTime;

    /** 驳回原因 */
    private String rejectReason;


    // 批量导出ids
    private String exportIds;

}
